﻿using System;
using System.Collections.Generic;
using JTLeigh.Commerce.Spencer.Features.ProductImages.Common.Entities;

namespace JTLeigh.Commerce.Spencer.Features.ProductImages.Business.Caches
{

	/// <summary>
	/// A null <see cref="IProductImageCache"/> implementation that doesn't cache product images.
	/// </summary>
	/// <remarks>
	/// <para>
	/// This cache should not be used in production.
	/// </para>
	/// </remarks>
	public class NullProductImageCache : IProductImageCache
	{

		#region IProductImageCache Members

		/// <summary>
		/// Always returns <see langword="null"/>.
		/// </summary>
		/// <param name="tenantId">Ignored.</param>
        /// <param name="catalogId">Ignored.</param>
        /// <param name="productId">Ignored.</param>
        /// <returns><see langword="null"/>.</returns>
		public Dictionary<Guid, ProductImage> GetProductImages(Guid tenantId, string catalogId, string productId)
		{
			return null;
		}

		/// <summary>
		/// Does nothing.
		/// </summary>
		/// <param name="tenantId">Ignored.</param>
        /// <param name="catalogId">Ignored.</param>
        /// <param name="productId">Ignored.</param>
        /// <param name="images">Ignored.</param>
		public void SetProductImages(Guid tenantId, string catalogId, string productId, Dictionary<Guid, ProductImage> images)
		{
		}

		#endregion // IProductImageCache Members

	}

}
